/*--------------------------------------------------------
Método: carregarPaginaCentral
Descrição: Carrega a url desejada, na div central, exibe tambem uma loading.
Author: Antonio Marcos <amm.bernardes@gmail.com>
----------------------------------------------------------*/
function carregarPaginaCentral(url){ 
   //Firula de loading
   $('#central').html("<br><br><br><br><br><br><div align='center'><img src='img/loading.gif' ><br> Carregando... </div><br><br><br><br><br><br>");
	
   //É feito o carregamento por por ajax.	
   $('#central').load(url);
	
   return false;
}

/*--------------------------------------------------------
Método: carregarDivAjax
Descrição: Carrega a url desejada, na div desejada.
Author: Antonio Marcos <amm.bernardes@gmail.com>
----------------------------------------------------------*/
function carregarDivAjax(div,url){ 
   //É feito o carregamento por por ajax.	
   $('#'+div).load(url);
	
   return false;
}


/*--------------------------------------------------------
Método: erro
Descrição: Exibe alerta de erro.
Author: Antonio Marcos <amm.bernardes@gmail.com>
----------------------------------------------------------*/
function erro(msg){ 
   new Messi(msg, {title: 'Erro', 
       titleClass: 'anim error', 
       buttons: [{id: 0, label: 'Ok', val: 'X'}]
   });
   return false;
}


/*--------------------------------------------------------
Método: info
Descrição: Exibe alerta de informação.
Author: Antonio Marcos <amm.bernardes@gmail.com>
----------------------------------------------------------*/
function info(msg){ 
   
   new Messi(msg, {title: 'Alerta', 
       titleClass: 'info', 
       buttons: [{id: 0, label: 'Ok', val: 'X'}]
   });
   return false;
}


/*--------------------------------------------------------
Método: sucesso
Descrição: Exibe alerta de sucesso.
Author: Antonio Marcos <amm.bernardes@gmail.com>
----------------------------------------------------------*/
function sucesso(msg,url){ 
    new Messi(msg, {title: 'Sucesso', 
	   titleClass: 'success', 
	   buttons: [{id: 0, label: 'Ok', val: 'X'}],
	   callback: function(){
			$('#central').load(url);
	   }
	});
    return false;
}

/*--------------------------------------------------------
Método: alerta
Descrição: Exibe alerta de aviso.
Author: Antonio Marcos <amm.bernardes@gmail.com>
----------------------------------------------------------*/
function alerta(msg,url){ 
    new Messi(msg, {title: 'Aviso', 
		titleClass: 'info', 
		buttons: [{id: 0, label: 'Close', val: 'X'}]
	});
    return false;
}

/*--------------------------------------------------------
Método: confirmacao
Descrição: Exibe alerta de confirm.
Author: Antonio Marcos <amm.bernardes@gmail.com>
----------------------------------------------------------*/
function confirmacao(msg){ 
    new Messi(msg, {title: 'Confirmação', 
    buttons: [{id: 0, label: 'Sim', val: '1'}, 
		  {id: 1, label: 'Não', val: '0'}], 
		  callback: function(val) {
			  return val;
		  }
	});
}

/*--------------------------------------------------------
Método: isDate
Descrição: Valida a data.
Author: Antonio Marcos <amm.bernardes@gmail.com>
----------------------------------------------------------*/
function isDate(dtStr){

      
   var daysInMonth = DaysArray(12)

   var pos1=dtStr.indexOf(dtCh)
   var pos2=dtStr.indexOf(dtCh,pos1+1)
   var strDay=dtStr.substring(0,pos1)
   var strMonth=dtStr.substring(pos1+1,pos2)

   var strYear=dtStr.substring(pos2+1)
   strYr=strYear
   if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
   if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
   for (var i = 1; i <= 3; i++) {
	   if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
   }
   month=parseInt(strMonth)
   day=parseInt(strDay)
   year=parseInt(strYr)
 
   
   if (pos1==-1 || pos2==-1){
	   erro("A data deve ser digitada no formato : dd/mm/yyyy")
	   return false
   }
   if (strMonth.length<1 || month<1 || month>12){
	   erro("Por favor digite um mês válido.")
	   return false
   }
   if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
	   erro("Por favor digite um dia válido.")
	   return false
   }
   if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
	   erro("Por favor, digite um ano válido.")
	   return false
   }
   if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
	   erro("Por favor, digite uma data válida")
	   return false
   }
   return true
}


/*--------------------------------------------------------
Método: validarData
Descrição: Valida a data.
Author: Monica Neli 
----------------------------------------------------------*/
function validarData(data) { 
	
	dia = (data.substring(0,2)); 
	mes = (data.substring(3,5));
	ano = (data.substring(6,10));  
	
	var dataAtual = new Date();
	diaAtual = dataAtual.getDate();
	mesAtual = dataAtual.getMonth();
	anoAtual = dataAtual.getFullYear();

	situacao = ""; 
	
	// verifica se o ano é maior que o atual
	if (ano > anoAtual || ano < 1930 ){
		situacao = "falsa"; 
	}
	
	// verifica o dia valido para cada mes 
	if ((dia < 01)||(dia > 30) && (mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) { 
		situacao = "falsa"; 
	} 

	// verifica se o mes e valido 
	if (mes < 01 || mes > 12 ) { 
		situacao = "falsa"; 
	} 

	// verifica se e ano bissexto 
	if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
		situacao = "falsa"; 
	} 
	
	// verifica o ano 
	if (ano < 1930  && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
		situacao = "falsa"; 
	}     
	if (data == "") { 
		situacao = "falsa"; 
	} 

	if (situacao == "falsa") { 
		erro("Data inválida!");
		return false; 
	
	}else{
		return true;
	}
  }
  

/*--------------------------------------------------------
Método: validarData
Descrição: Valida o email.
Author: Monica Neli 
----------------------------------------------------------*/  
function isEmail(email){
	var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	var check=/@[\w\-]+\./;
	var checkend=/\.[a-zA-Z]{2,3}$/;
	if(((email.search(exclude) != -1)||(email.search(check)) == -1)||(email.search(checkend) == -1)){return false;}
	else {return true;}
}
/*--------------------------------------------------------
Método: lightbox
Descrição: Exibe um conteudo em um lightbox.
Author: Antonio Marcos
----------------------------------------------------------*/  
function lightbox(pagina){	
	$.fancybox.open({
																		   
		href : pagina,
		type : 'ajax',
		openEffect : 'elastic'
   });
}
